package com.iteaj.iboot.plugin.crawler;

import cn.hutool.core.util.StrUtil;
import lombok.Data;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.boot.context.properties.ConfigurationProperties;

import java.io.File;

@Data
@ConfigurationProperties(prefix = "crawler")
public class CrawlerProperties implements InitializingBean {

    /**
     * 访问地址
     */
    private String url;

    /**
     * 基础路径(如果空则自动获取当前目录)
     */
    private String basicPath;

    /**
     * 浏览器执行文件
     * @see #basicPath 相对此路径
     */
    private String chromeExec;

    /**
     * 调试端口
     */
    private Integer debuggingPort;

    /**
     * 浏览器用户数据目录
     * @see #basicPath 相对此路径
     */
    private String userDataDir;

    /**
     * 爬取的数据路径
     * @see #basicPath 相对此路径
     */
    private String crawlerPath;

    @Override
    public void afterPropertiesSet() throws Exception {
        String userDir = System.getProperty("user.dir");
        if(StrUtil.isBlank(basicPath)){
            basicPath = userDir;
        }

        File file = new File(this.getBasicPath() + this.getCrawlerPath());
        if(!file.exists()){
            file.mkdir();
        }
    }
}
